import http from "@/utils/request";
// 前端封装API接口模块 ：购物车(Cart) 模块
const prefix = "app/v1/cart/"

// 1.购物车列表 GET listByMy
// 参数:无(获取当前用户的所有记录)
// 返回的数据结构参见API文档
export function getMyList() {
    return http.request({
        url: prefix + "listByMy",
        method: "get",
    });
}

// 2.添加购物车 POST insert
// 参数名
// goodsId	商品编号
// count		商品数量
export function addCart(params) {
    let {
        goodsId,
        count
    } = params; //解构
    return http.request({
        url: prefix + "insert",
        method: "post",
        data: {goodsId, count},  //POST  参数用Data 参见Axios文档
    });
}

// 3.删除购物车（可以删除多条记录） DELETE batch
// 参数名 
// ids  数组，保存多个编号(流水号)
export function deleteByIds(ids) {
    return http.request({
        url: prefix + "batch",
        method: "delete",
        data: {ids},  // Body参数
    });
}

// 4.修改购物车条目中的购买数量 POST update
// 参数名 
// id					编号(流水号)
// count			商品数量
// isChecked	是否勾选 fale/true
export function update(params) {
    return http.request({
        url: prefix + "update",
        method: "post",
        data: params,
    });
}

//=============================
//5.购物车列表（勾选商品）GET listIsCheckedByMy
//参数:无(获取当前用户的所有记录)
export function listIsCheckedByMy() {
    return http.request({
        url: prefix + "listIsCheckedByMy",
        method: "get",
    });
}

//========================
//6.清空购物车 DELETE  allByMy
// 参数:无
export function deleteAllByMy() {
    return http.request({
        url: prefix + "allByMy",
        method: "delete",
    });
}

//========================
//7.全选或全不选
// 参数名         参数说明
// id   编号(流水号)
// is_checked 是否选中  0 /1 
export function updateIsCheckedAllByMy(isChecked) {
    return http.request({
        url: prefix + "updateIsCheckedAllByMy/" + isChecked,
        method: "post",
    });
}
